home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
commodore-users-of-norman
/
CUON_13_(11-1984).d64
/
recover scratch
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
2KB
|
115 lines
100 REM INITIALIZATION
101 :
102 CLR:DIM D$(255), E$(31)
103 POKE53280,15:POKE53281,12
104 PRINTCHR$(5)
105 NL$=CHR$(0):DT=18:DB=1
106 :
107 REM HOUSEKEEPING
108 :
109 PRINT"[147]COMPLETE NAME OF"
110 INPUT"DELETED PROGRAM";P$
111 PRINT"[147]"
112 :
113 REM OPEN FILES
114 :
115 OPEN15,8,15,"I0":GOSUB160
116 OPEN5,8,5,"#1":GOSUB160
117 OPEN6,8,6,"#2":GOSUB160
118 GOSUB150
119 :
120 REM LOOP Z - EACH DIRECTORY ENTRY
121 REM LOOP Y - STORE IN ARRAY E$
122 :
123 FORZ=0TO7:N$=""
124 FORY=0TO31
125 E$(Y)=D$(Z*32+Y):NEXT
126 :
127 REM TEST PGM NAME
128 :
129 FORX=5TO20:N$=N$+E$(X):NEXT
130 IFP$=MID$(N$,1,LEN(P$))THEN138
131 NEXT
132 IFDB<>255THEN118
133 PRINT:PRINTP$;" NOT FOUND"
134 CLOSE5:CLOSE6:CLOSE15:END
135 :
136 REM CHANGE TYPE & WRITE BUFFER
137 :
138 F$=CHR$(130)
139 D$(Z*32+2)=F$:PRINT
140 PRINTSPC(10);"WRITING ";TK;SC:PRINT
141 PRINT#15,"B-P";6;0:GOSUB160
142 FORW=0TO255:W$=D$(W)
143 PRINT#6,W$;:PRINTASC(W$);:NEXT
144 PRINT"[160]":PRINT
145 PRINT#15,"U2:";6;0;TK;SC
146 GOSUB160:GOTO165
147 :
148 REM READ TRACK AND SECTOR
149 :
150 PRINT#15,"U1:";5;0;DT;DB:GOSUB160
151 PRINTSPC(10);"READING ";DT;DB:PRINT
152 FORX=0TO255
153 GET#5,W$:IFW$=""THENW$=NL$
154 D$(X)=W$:PRINTASC(W$);:NEXT
155 TK=DT:SC=DB:PRINT:PRINT
156 DT=ASC(D$(0)):DB=ASC(D$(1)):RETURN
157 :
158 REM CHECK DISK STATUS
159 :
160 INPUT#15,EN,EM$,ET,ES
161 PRINT,"STATUS ";EN;EM$;ET;ES:PRINT
162 RETURN
163 REM ALL DONE
164 :
165 CLOSE5:CLOSE6:CLOSE15
166 IFEN<>0THEN168
167 PRINT,"RECOVERY DONE"
168 END
169 :
170 REM TITLE: RECOVER (PROGRAM)
171 REM AUTHOR: B. SNEED
172 REM DATE: 04/15/83
173 :
174 REM THIS PROGRAM CAN BE USED TO
175 REM RECOVER ANY PROGRAM ON A DISK
176 REM THAT STILL HAS A ENTRY IN THE
177 REM DIRECTORY AND THE ACTUAL DATA
178 REM HAS NOT BEEN WRITTEN OVER.
179 :
180 REM METHODOLOGY:
181 REM
182 REM 1. EXECUTE PROGRAM DIRLIST TO
183 REM VERIFY THAT THERE IS STILL
184 REM A DIRECTORY ENTRY.
185 :
186 REM 2. THE ENTRY TYPE SHOULD BE
187 REM "D" INDICATING DELETED.
188 :
189 REM 3. EXECUTE THIS PROGRAM AND
190 REM ANSWER THE PROMPT WITH THE
191 REM FULL COMPLETE NAME, DO NOT
192 REM USE THE * WILDCARD.
193 :
194 REM 4. IF THERE IS AN ERROR, THIS
195 REM WILL TERMINATE AND NO HARM
196 REM IS DONE.
197 :
198 REM 5. IF THE RECOVERY SUCCESSFUL
199 REM MESSAGE APPEARS, IT MEANS
200 REM THE DIRECTORY AND ONLY IT
201 REM HAS BEEN MODIFIED.
202 :
203 REM 6. LOAD AND LIST THE PROGRAM
204 REM VERIFING EVERYTHING IS OK.
205 :
206 REM 7. IF IT IS - WELL GREAT!
207 :
208 REM 8 IF IT ISN'T - TOO BAD.
209 :
210 REM TO SPEED UP EXECUTION AND LOAD
211 REM TIME, YOU CAN USE VIC-TREE TO
212 REM DELETE ALL REMARKS LINES WITH
213 REM A SINGLE : ONLY.